// import { Inject, Post, Provide, Body, Get, Query } from '@midwayjs/core';
// import { CoolController, BaseController } from '@cool-midway/core';
// import { GoodsPriceStrategyService } from '../../service/priceStrategy';
// import { GoodsPriceCalculatorService } from '../../service/priceCalculator';

// /**
//  * 商品价格策略管理
//  */
// @Provide()
// @CoolController('/admin/goods/priceStrategy')
// export class AdminGoodsPriceStrategyController extends BaseController {
//   @Inject()
//   goodsPriceStrategyService: GoodsPriceStrategyService;

//   @Inject()
//   goodsPriceCalculatorService: GoodsPriceCalculatorService;

//   /**
//    * 设置用户价格策略
//    */
//   @Post('/setUserStrategy')
//   async setUserStrategy(@Body() body: {
//     userId: number;
//     strategyType: number;
//     discountRate: number;
//     minDiscountRate?: number;
//     startTime?: string;
//     endTime?: string;
//     remark?: string;
//   }) {
//     const params = {
//       ...body,
//       startTime: body.startTime ? new Date(body.startTime) : undefined,
//       endTime: body.endTime ? new Date(body.endTime) : undefined,
//     };
    
//     const result = await this.goodsPriceStrategyService.setUserPriceStrategy(params);
//     return this.ok(result);
//   }

//   /**
//    * 获取用户价格策略
//    */
//   @Get('/getUserStrategy')
//   async getUserStrategy(@Query('userId') userId: number) {
//     const result = await this.goodsPriceStrategyService.getUserPriceStrategy(userId);
//     return this.ok(result);
//   }

//   /**
//    * 获取用户价格策略列表（分页）
//    */
//   @Post('/getUserStrategyPage')
//   async getUserStrategyPage(@Body() body: {
//     page?: number;
//     size?: number;
//     userId?: number;
//     strategyType?: number;
//     status?: number;
//   }) {
//     const result = await this.goodsPriceStrategyService.getUserPriceStrategyList(body);
//     return this.ok(result);
//   }

//   /**
//    * 删除用户价格策略
//    */
//   @Post('/removeUserStrategy')
//   async removeUserStrategy(@Body() body: { userId: number }) {
//     await this.goodsPriceStrategyService.removeUserPriceStrategy(body.userId);
//     return this.ok();
//   }

//   /**
//    * 设置商品价格层级
//    */
//   @Post('/setPriceTier')
//   async setPriceTier(@Body() body: {
//     goodsId: number;
//     priceLevel: number;
//     price: number;
//     minQuantity?: number;
//     maxQuantity?: number;
//     startTime?: string;
//     endTime?: string;
//     remark?: string;
//   }) {
//     const params = {
//       ...body,
//       startTime: body.startTime ? new Date(body.startTime) : undefined,
//       endTime: body.endTime ? new Date(body.endTime) : undefined,
//     };
    
//     const result = await this.goodsPriceStrategyService.setPriceTier(params);
//     return this.ok(result);
//   }

//   /**
//    * 批量设置商品价格层级
//    */
//   @Post('/batchSetPriceTiers')
//   async batchSetPriceTiers(@Body() body: {
//     goodsId: number;
//     tiers: Array<{
//       priceLevel: number;
//       price: number;
//       minQuantity?: number;
//       maxQuantity?: number;
//       remark?: string;
//     }>;
//   }) {
//     const result = await this.goodsPriceStrategyService.batchSetPriceTiers(body.goodsId, body.tiers);
//     return this.ok(result);
//   }

//   /**
//    * 获取商品价格层级列表
//    */
//   @Get('/getGoodsPriceTiers')
//   async getGoodsPriceTiers(@Query('goodsId') goodsId: number) {
//     const result = await this.goodsPriceStrategyService.getGoodsPriceTiers(goodsId);
//     return this.ok(result);
//   }

//   /**
//    * 获取商品价格层级列表（分页）
//    */
//   @Post('/getPriceTierPage')
//   async getPriceTierPage(@Body() body: {
//     page?: number;
//     size?: number;
//     goodsId?: number;
//     priceLevel?: number;
//     status?: number;
//   }) {
//     const result = await this.goodsPriceStrategyService.getPriceTierList(body);
//     return this.ok(result);
//   }

//   /**
//    * 删除商品价格层级
//    */
//   @Post('/removePriceTier')
//   async removePriceTier(@Body() body: { id: number }) {
//     await this.goodsPriceStrategyService.removePriceTier(body.id);
//     return this.ok();
//   }

//   /**
//    * 设置用户商品专属价格
//    */
//   @Post('/setUserProductPrice')
//   async setUserProductPrice(@Body() body: {
//     userId: number;
//     goodsId: number;
//     specialPrice: number;
//     priority?: number;
//     startTime?: string;
//     endTime?: string;
//     remark?: string;
//   }) {
//     const params = {
//       ...body,
//       startTime: body.startTime ? new Date(body.startTime) : undefined,
//       endTime: body.endTime ? new Date(body.endTime) : undefined,
//     };
    
//     const result = await this.goodsPriceStrategyService.setUserProductPrice(params);
//     return this.ok(result);
//   }

//   /**
//    * 获取用户商品专属价格
//    */
//   @Get('/getUserProductPrice')
//   async getUserProductPrice(@Query('userId') userId: number, @Query('goodsId') goodsId: number) {
//     const result = await this.goodsPriceStrategyService.getUserProductPrice(userId, goodsId);
//     return this.ok(result);
//   }

//   /**
//    * 删除用户商品专属价格
//    */
//   @Post('/removeUserProductPrice')
//   async removeUserProductPrice(@Body() body: { id: number }) {
//     await this.goodsPriceStrategyService.removeUserProductPrice(body.id);
//     return this.ok();
//   }

//   /**
//    * 计算用户商品价格
//    */
//   @Post('/calculatePrice')
//   async calculatePrice(@Body() body: {
//     userId: number;
//     goodsId: number;
//     quantity?: number;
//   }) {
//     try {
//       const price = await this.goodsPriceCalculatorService.calculatePrice(
//         body.userId, 
//         body.goodsId, 
//         body.quantity || 1
//       );
//       return this.ok({ 
//         userId: body.userId,
//         goodsId: body.goodsId,
//         quantity: body.quantity || 1,
//         price 
//       });
//     } catch (error) {
//       return this.fail(error.message);
//     }
//   }

//   /**
//    * 批量计算商品价格
//    */
//   @Post('/calculateBatchPrices')
//   async calculateBatchPrices(@Body() body: {
//     userId: number;
//     goodsItems: Array<{ goodsId: number; quantity: number }>;
//   }) {
//     try {
//       const prices = await this.goodsPriceCalculatorService.calculateBatchPrices(
//         body.userId, 
//         body.goodsItems
//       );
//       return this.ok(prices);
//     } catch (error) {
//       return this.fail(error.message);
//     }
//   }

//   /**
//    * 清除价格缓存
//    */
//   @Post('/clearPriceCache')
//   async clearPriceCache(@Body() body: {
//     userId?: number;
//     goodsId?: number;
//   }) {
//     try {
//       await this.goodsPriceCalculatorService.clearPriceCache(body.userId, body.goodsId);
//       return this.ok();
//     } catch (error) {
//       return this.fail(error.message);
//     }
//   }

//   /**
//    * 获取价格策略类型字典
//    */
//   @Get('/getStrategyTypes')
//   async getStrategyTypes() {
//     const strategyTypes = [
//       { value: 0, label: '普通用户' },
//       { value: 1, label: 'VIP用户' },
//       { value: 2, label: '批发用户' },
//       { value: 3, label: '合作伙伴' },
//       { value: 4, label: '区域代理' }
//     ];
//     return this.ok(strategyTypes);
//   }

//   /**
//    * 获取价格层级字典
//    */
//   @Get('/getPriceLevels')
//   async getPriceLevels() {
//     const priceLevels = [
//       { value: 0, label: '基础价格' },
//       { value: 1, label: 'VIP价格' },
//       { value: 2, label: '批发价格' },
//       { value: 3, label: '合作伙伴价格' },
//       { value: 4, label: '区域代理价格' }
//     ];
//     return this.ok(priceLevels);
//   }
// }
